package leetcode;

public class c111最小二叉树深度 {
    public int minDepth1(TreeNode root) {
        if (root==null)  return 0;
        if (root.left==null&&root.right==null) return 1;
        int m1 =minDepth(root.left);
        int m2 =minDepth(root.right);
        if (root.left==null||root.right==null) return m1+m2+1;
        return Math.min(m1,m2)+1;


    }
    public int minDepth(TreeNode root) {
        if (root==null)  return 0;
        int m1=minDepth(root.left);
        int m2=minDepth(root.right);
        if(root.left==null&&root.right==null){
            return 1;
        }
        if(root.left==null&&root.right!=null){
            return m2+1;
        }if(root.left!=null&&root.right==null){
            return m1+1;
        }
        return Math.min(m1,m2)+1;



    }
}
